Robot apparatus and walking control method thereof

ABSTRACT

An object of the present invention is to provide a robot apparatus and a walking control method thereof capable of changing walking control modes in accordance with floor surfaces by discriminating states of the floor surfaces for walking without modifying a step-based walking schedule and capable of providing stable walking even if floor surface states change greatly.  
     A robot apparatus comprises: an action control section  11  to output a walking start instruction; a floor surface discrimination section  12  to discriminate a category for a current floor surface; and a walking control section  13  to compute an adaptive operation amount. The walking control section  13  obtains sensor values of a foot sole sensor and the like from the current floor surface by means of an in-place stepping motion and the like. Based on the sensor value, the walking control section  13  computes the adaptive operation amount as a correction amount from a standard gait model. The floor surface discrimination section  12  performs pattern recognition for the adaptive operation amount to discriminate the category for the current floor surface. The walking control section  13  is supplied with the floor surface category and selects an optimum walking model for the floor surface category. Again from the sensor value, the walking control section  13  computes the adaptive operation amount as a correction amount for the sensor value and provides walking control accordingly.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an autonomously movable legged mobilerobot apparatus and a walking control method of the robot apparatus.More particularly, the present invention relates to a robot apparatusand its walking control method capable of locomotion on such areas asfloors whose surface states for walking greatly vary.

This application claims priority of Japanese Patent Application No.2003-329131, filed on Sep. 19, 2003, the entirety of which isincorporated by reference herein.

2. Description of the Related Art

A term “robot” refers to a mechanical apparatus that simulates motionsof human beings (creatures) by using electric or magnetic actions. InJapan, robots began to spread at the end of 1960s. Many of them wereindustrial robots such as manipulators and transfer robots forautomating and unmanned manufacturing works in factories.

Recently, practical robots are being developed as partners of humanbeings to assist in their life, i.e., human activities for livingconditions and the other various situations in daily life. Unlike theindustrial robots, the practical robots have capabilities to self-learnthe method of adaptation to human beings having different individualcharacteristics or to diverse environments in various aspects of livingenvironments for human beings. For example, robot apparatuses that arealready put to practical use include “pet-type” robots and “human-type”or “human-like” robots (humanoid robots). The pet-type robots simulatethe body mechanism and motions of quadrupedal walking animals such asdogs and cats. The humanoid robots are designed and modeled on the bodymechanism and motions of bipedal upright walking human beings and thelike.

Compared to industrial robots, the practical robots also referred to asentertainment robots because they are capable of variousentertainment-oriented motions, for example. Such robot apparatuses areequipped with imaging means such as cameras and various sensors toobtain information from the outside and can autonomously behave inaccordance with the external information (external stimulus) andinternal states of the robots themselves.

These robot apparatuses include legged mobile ones such as bipedalwalking robot apparatuses. It is particularly difficult for a bipedalwalking robot apparatus to walk on a floor surface having, e.g., slopesand obstructions by balancing the whole body under actual environments.Normally, robot walking is made possible by computing control signals tobe output to an actuator provided for each joint based on floor reactionforces, joint angles, and the like obtained from sensors and the likeprovided for foot soles.

For example, patent document 1: Japanese Patent Application Laid-OpenNo. 2001-328083 discloses the technology of a floor shape estimationapparatus for a legged mobile robot apparatus that walks bysimultaneously estimating a landing surface inclination for a foot and aheight difference between landing surfaces for both feet.

The technology described in the above-mentioned patent document 1enables smooth walking by estimating local shapes of the floor surface.However, there is provided no information about the floor surface untilthe feet actually touch the floor. Such scheme simply modifies a veryshort walking schedule.

That is to say, it is possible to adaptively compute correction amounts(adaptive operation amounts) of trajectories each time the feet touchthe floor surface. However, it is impossible to obtain knowledge aboutthe floor surface at every step before the foot touches the floor.Further, it is impossible to automatically discriminate an optimalcontrol mode for the floor surface by supposing not the step-based areabut the larger area (of the floor surface) during the walking control.An adaptive operation amount needs to be computed based on predeterminedcontrol modes. The adaptive operation amount in the above-mentionedpatent document 1 and the like signifies a correction amountcorresponding to floor surface's inclinations and robot's attitudesagainst a walking control model defined as a given reference.Accordingly, it is possible to continuously or slowly change the controlcontents of the walking control model. There occurs a problem of makingthe walking difficult in cases that cannot be solved by such adaptiveoperation only.

For example, the robot apparatus may walk on hard landing surfaces(floor surfaces) such as flooring, marble stone, and concrete or on softlanding surfaces such as carpets and lawn. In these cases, there areused completely different parameters, coefficients, or walkingalgorithms (walking models) for computing adaptive operation amountscorresponding to the current floor surface, for example, from a walkingcontrol model as the walking control mode used as the reference. Withoutchanging the walking control mode, simply computing the adaptiveoperation amount cannot allow locomotion between greatly varying floorsurface states, for example, from the hard landing surface to the softlanding surface. During such locomotion, the robot apparatus itselfcannot even discriminate whether or not the walking is possible. Anoperator needs to manually reconfigure knowledge about the floorsurface. Specifically, it has been necessary to reconfigure parametersfor computing adaptive operation amounts corresponding to the floorsurface, for example.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the foregoing.It is therefore an object of the present invention to provide a robotapparatus and a walking control method thereof capable of changingwalking control modes in accordance with floor surfaces bydiscriminating states of the floor surfaces for walking withoutmodifying a step-based walking schedule and capable of providing stablewalking even if floor surface states change greatly.

In order to achieve the above-mentioned objects, the present inventionprovides an autonomously movable legged mobile robot apparatuscomprising: a walking surface discrimination means for discriminating awalking surface category as a current walking surface's category from aplurality of prepared categories based on information about the currentwalking surface; and a walking control means for controlling walking byselecting a specified walking control mode in accordance with thewalking surface category discriminated by the walking surfacediscrimination means.

The present invention differs from a conventional method of adaptivelycomputing correction amounts for a walking model during walking. Thepresent invention discriminates a floor surface state based on preparedfloor surface categories. According to a discrimination result, thepresent invention selects a specified walking control mode and makes itpossible to control walking in accordance with an optimum walkingcontrol mode for the floor surface.

The walking control means computes a walking control amount from asensor value output from a sensor provided for at least a leg based on aselected walking control mode. The walking surface discrimination meanscan use the walking control amount as information about the currentwalking surface. When the leg has joints and the like, the sensordetects angles of the joints or detects a foot sole's reaction forcefrom the walking surface. A walking control amount is converted fromvarious sensor values and includes information about the floor surfaceat that time. The waking control amount can be used for the floorsurface category discrimination.

Further, the walking control means has a different walking control modelfor each of the categories, selects a walking control modelcorresponding to the walking surface category to be input, and uses thesensor value to compute a correction amount from the walking controlmodel as the walking control amount. The walking control means convertsthe sensor value into the walking control amount using a specifiedparameter, has a different parameter for each of the categories, and cancompute the walking control amount using a parameter corresponding tothe walking surface category to be input. This makes it possible tocompute a walking control amount by selecting an optimum walking controlmodel or an optimum parameter in accordance with the input floor surfacecategory. As a result, stable walking is made possible.

Moreover, the walking surface discrimination means uses a sensor valueoutput from a sensor provided for at least a leg as information aboutthe current walking surface. There is provided an imaging means. Thewalking surface discrimination means extracts a walking surface areafrom an input image captured by the imaging means and uses the walkingsurface area as information about the current walking surface. Thesensor values and the floor surface area contain information about thecurrent floor surface and the information can be used for the floorsurface category discrimination.

The walking surface discrimination means discriminates a walking surfacecategory by means of pattern recognition of information about thecurrent walking surface. For example, the floor surface discriminationmeans has a learnt characteristic amount obtained by previously learninga characteristic amount of information about the floor surface for eachcategory classified in accordance with a specified criterion and cancompare a characteristic amount of information about the current floorsurface with the learnt characteristic amount so as to discriminate afloor surface category. Various floor surfaces are classified into floorsurface categories considered to be necessary and can be learntthereafter.

Furthermore, the plurality of categories are obtained by classifyingcharacteristic amounts of information about walking surfaces based on apreviously learnt characteristic amount. The walking surfacediscrimination means can compare a characteristic amount of informationabout a current walking surface with the learnt characteristic amount todiscriminate a walking surface category. It may be preferable toclassify the floor surface categories according to characteristicamounts obtained from floor surfaces.

Still further, there is provided a motion generation means forgenerating an in-place stepping motion to discriminate the walkingsurface category. The walking control means computes a walking controlamount from a sensor value output from a sensor provided for at least aleg based on a selected walking control mode during the in-placestepping motion. The walking surface discrimination means may use thewalking control amount as information about the walking surface.In-place stepping motions can be used to discriminate the floor surfacecategories before walking.

The walking surface discrimination means can continuously discriminate awalking surface category during walking. Since the floor surfacecategories are always discriminated during walking, stable walkingbecomes available even if floor surface conditions vary greatly.

The present invention provides a walking control method of anautonomously movable legged mobile robot apparatus comprising the stepsof: discriminating a walking surface category as a current walkingsurface's category from a plurality of categories based on informationabout the current walking surface; and controlling waling by selecting aspecified walking control mode in accordance with the walking surfacecategory discriminated by the walking surface discrimination step.

The present invention discriminates a current walking surface categoryusing the following inputs: a walking control amount that is computedaccording to walking surfaces such as a current floor surface and isused as a correction amount from a walking control model as thestandard; sensor values from sensors provided for a foot sole, a joint,and the like; or information about the walking surface such as a walkingsurface area included in an input image. According to thisdiscrimination result, a walking control mode is selected for walkingcontrol to control the walking. Therefore, the walking surface state isrecognized as a walking surface category in advance, and then thewalking control can be provided. There may be a case of walking betweenareas whose walking surface states vary greatly. Particularly in suchcase, the present invention can provide the robot apparatus and itswalking control method capable of providing much more stable walkingcontrol than the conventional walking control method by makingcorrections as needed while walking.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view outlining a robot apparatus according to anembodiment of the present invention;

FIG. 2 schematically shows a configuration of joint freedom degreesprovided for the robot apparatus;

FIG. 3 schematically shows a control system configuration of the robotapparatus;

FIG. 4 is a functional block diagram showing only major parts needed fora floor-surface-based walking control apparatus of the robot apparatus;

FIG. 5 is a flowchart showing a flow of floor-surface-based walkingcontrol process;

FIGS. 6A through 6D show that the robot apparatus is stepping in place;

FIGS. 7A through 7D likewise show that a robot apparatus 1 is steppingin place after the operation in FIG. 6D;

FIG. 8 is a graph showing chronological values of foot sole accelerationin forward and sidewise directions by assigning the time to the abscissaand the acceleration to the ordinate;

FIG. 9 is a graph showing a Fourier power spectrum by Fouriertransforming chronological values of foot sole acceleration in forwardand sidewise directions as shown in FIG. 8 by assigning frequencies tothe abscissa and power to the ordinate;

FIG. 10 is a graph showing Fourier power spectrum characteristicsobtained by Fourier transforming a chronological value at a given pointof the roll axis operation amount;

FIG. 11 is a graph showing Fourier power spectrum characteristicsobtained by Fourier transforming a chronological value at a given pointof the pitch axis operation amount;

FIG. 12 shows an example of treating two pieces of data as one block ofdata;

FIG. 13 shows a discrimination space to discriminate floor surfacecategories by projecting characteristic amounts;

FIG. 14A schematically shows a flooring surface; FIG. 14B showschronological values obtained by in-place stepping on the flooringsurface; and FIG. 14C is a graph showing characteristic amounts on theflooring surface resulting from Fourier transforming the obtainedchronological values;

FIG. 15A schematically shows a carpet floor surface having a pile lengthshorter than 6 mm; FIG. 15B shows chronological values obtained byin-place stepping on the carpet floor surface having a pile lengthshorter than 6 mm; FIG. 15C is a graph showing characteristic amounts onthe carpet floor surface having a pile length shorter than 6 mmresulting from Fourier transforming the obtained chronological values;

FIG. 16A schematically shows a carpet floor surface having a pile lengthlonger than or equal to 6 mm; FIG. 16B shows chronological valuesobtained by in-place stepping on the carpet floor surface having a pilelength longer than or equal to 6 mm; FIG. 16C is a graph showingcharacteristic amounts on the carpet floor surface having a pile lengthlonger than or equal to 6 mm resulting from Fourier transforming theobtained chronological values;

FIG. 17 illustrates boundaries for discriminating three classes in atwo-dimensional space; and

FIG. 18 shows how the robot apparatus steps in place to discriminatefloor surfaces.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An embodiment of the present invention will be described in detail withreference to the accompanying drawings. The embodiment is applied to arobot apparatus that provides operation control so as to allow part ofthe apparatus and the like to contact with objects.

The embodiment describes a bipedal walking robot apparatus as anexample. It is to be distinctly understood that the embodiment can beapplied to not only bipedal walking robot apparatuses, but also robotapparatuses capable of locomotion by means of four legs, wheels, and thelike. First, the bipedal walking robot apparatus will be described.Then, a method of controlling the walking of such robot apparatus willbe described.

(1) Robot Apparatus

The humanoid robot apparatus is a practical robot that assists in humanactivities for living conditions and the other various situations indaily life. The robot apparatus is also an entertainment robot that canbehave in accordance with internal states (anger, sadness, joy,pleasure, and the like) and represent basic human motions. FIG. 1 is aperspective view outlining a robot apparatus according to the embodimentof the present invention.

As shown in FIG. 1, a robot apparatus 1 comprises a head unit 3, rightand left arm units 4R/L, and right and left leg units 5R/L coupled tospecified positions of a torso unit 2. In these reference symbols,letters R and L are suffixes to indicate right and left, respectively.The same applies to the description below.

FIG. 2 schematically shows a configuration of joint freedom degreesprovided for the robot apparatus 1. A neck joint supporting the headunit 3 has three freedom degrees: a neck joint yaw axis 101, a neckjoint pitch axis 102, and a neck joint roll axis 103.

Each of the arm units 4R/L constituting upper limbs comprises: ashoulder joint pitch axis 107; a shoulder joint roll axis 108; an upperarm yaw axis 109; an elbow joint pitch axis 110; a lower arm yaw axis111; a wrist joint pitch axis 112; a wrist joint roll axis 113; and ahand section 114. The hand section 114 is actually a multi-joint,multi-freedom-degree structure including a plurality of fingers.However, operations of the hand section 114 have little influence onattitudes and walking control of the robot apparatus 1. For simplicity,this specification assumes that the hand section 114 has zero freedomdegree. Accordingly, each arm unit has seven freedom degrees.

The torso unit 2 has three freedom degrees: a torso pitch axis 104, atorso roll axis 105, and a torso yaw axis 106.

Each of leg units 5R/L constituting lower limbs comprises: a crotchjoint yaw axis 115, a crotch joint pitch axis 116, a crotch joint rollaxis 117, a knee joint pitch axis 118, an ankle joint pitch axis 119, anankle joint roll axis 120, and a foot section 121. This specificationdefines an intersecting point between the crotch joint pitch axis 116and the crotch joint roll axis 117 to be a crotch joint position of therobot apparatus 1. A human body equivalent for the foot section 121 is astructure including a multi-joint, multi-freedom-degree foot sole inreality. For simplicity, the specification assumes that the foot sole ofthe robot apparatus 1 has zero freedom degree. Accordingly, each legunit has six freedom degrees.

To sum up, the robot apparatus 1 as a whole has 32 freedom degrees(3+7×2+3+6×2) in total. However, the entertainment-oriented robotapparatus 1 is not limited to having 32 freedom degrees. Obviously, itis possible to increase or decrease freedom degrees, i.e., the number ofjoints according to design or production conditions, requestedspecifications, and the like.

Actually, an actuator is used to realize each of the above-mentionedfreedom degrees provided for the robot apparatus 1. It is preferable touse small and lightweight actuators chiefly in consideration foreliminating apparently unnecessary bulges to approximate a natural humanshape and providing attitude control for an unstable bipedal walkingstructure.

For example, the above-mentioned robot apparatus provides the torso unit2 with a control system to control operations of the entire robotapparatus. FIG. 3 schematically shows a control system configuration ofthe robot apparatus 1. As shown in FIG. 3, the control system comprisesa reasoning control module 200 and a kinetic control module 300. Thereasoning control module 200 controls affectional discrimination andemotional expressions in dynamic response to user inputs and the like.The kinetic control module 300 controls the entire body's coordinatedmovement of the robot apparatus 1 such as driving of an actuator 350.

The reasoning control module 200 comprises a CPU (Central ProcessingUnit) 211 to perform computing processes concerning affectionaldiscrimination and emotional expressions, RAM (Random Access Memory)212, ROM (Read Only Memory) 213, an external storage device (hard diskdrive and the like) 214, and the like. The reasoning control module 200is an independently driven information processing unit capable ofself-complete processes within the module.

The reasoning control module 200 is supplied with image data from animage input apparatus 251, audio data from an audio input apparatus 252,and the like. In accordance with these stimuli from the outside, thereasoning control module 200 determines the current emotion or intentionof the robot apparatus 1. The image input apparatus 251 has a pluralityof CCD (Charge Coupled Device) cameras, for example. The audio inputapparatus 252 has a plurality of microphones, for example.

The reasoning control module 200 issues an instruction to the kineticcontrol module 300 so as to perform a motion or action sequence based onthe decision making, i.e., movement of limbs.

The kinetic control module 300 comprises a CPU (Central Processing Unit)311 to control entire body's coordinated movement of the robot apparatus1, RAM 312, ROM 313, an external storage device (hard disk drive and thelike) 314, and the like. The kinetic control module 300 is anindependently driven information processing unit capable ofself-complete processes within the module. The external storage device314 can store, for example, offline computed walking patterns, targetedZMP trajectories, and the other action schedules.

The kinetic control module 300 connects with: the actuator 350 torealize each of freedom degrees distributed to the whole body of therobot apparatus 1 shown in FIG. 2; a distance measurement sensor (notshown) to measure the distance to an object; an attitude sensor 351 tomeasure an attitude or inclination of the torso unit 2; landingconfirmation sensors 352 and 353 to detect whether left and right footsoles leave from or touch the floor; a load sensor provided for a footsole 121 of the foot section 121; and a power supply controller 354 tomanage power supplies such as batteries. These devices are connected tothe kinetic control module 300 via a bus interface (I/F) 301. Theattitude sensor 351 comprises a combination of an acceleration sensorand a gyro sensor, for example. The landing confirmation sensors 352 and353 comprise a proximity sensor, a micro switch, and the like.

The reasoning control module 200 and the kinetic control module 300 areconstructed on a common platform. Both are interconnected via businterfaces 201 and 301.

The kinetic control module 300 controls the entire body's coordinatedmovement by each of the actuators 350 to realize action instructed fromthe reasoning control module 200. In response to the action instructedby the reasoning control module 200, the CPU 311 retrieves acorresponding motion pattern from the external storage device 314.Alternatively, the CPU 311 internally generates a motion pattern.According to the specified motion pattern, the CPU 311 configures thefoot section movement, ZMP trajectory, torso movement, upper limbmovement, waist's horizontal position and height, and the like. The CPU311 then transfers instruction values to the actuators 350. The commandvalues specify motions corresponding to the configuration contents.

The CPU 311 uses an output signal from the attitude sensor 351 to detectan attitude or inclination of the torso unit 2 of the robot apparatus 1.In addition, the CPU 311 uses output signals from the landingconfirmation sensors 352 and 353 to detect whether each of the leg units5R/L is idling or standing. In this manner, the CPU 311 can adaptivelycontrol the entire body's coordinated movement of the robot apparatus 1.Further, the CPU 311 controls attitudes or motions of the robotapparatus 1 so that the ZMP position is always oriented to the center ofa ZMP stabilization area.

The kinetic control module 300 notifies the reasoning control module 200of processing states, i.e., to what extent the kinetic control module300 has fulfilled the action according to the decision made by thereasoning control module 200. In this manner, the robot apparatus 1 candetermine its and surrounding circumstances based on the control programand can behave autonomously.

(2) Walking Control Method

The following describes the walking control method of walking for theabove-mentioned robot apparatus 1, i.e., a legged mobile robot apparatushaving the walking function. For the walking control, the robotapparatus performs statistic pattern recognition of the informationabout walking surfaces to discriminate walking surface states andselects an optimum one of predetermined walking control modescorresponding to this discrimination result. Specifically, duringwalking or stepping in place to be described later, the robot apparatusobtains various sensor information, walking control amounts, imageinformation, and the like as the information about the walking surface.Based on the obtained information, the robot apparatus determines acategory of the current walking surface (hereafter referred to as awalking surface category). The robot apparatus selects a walking controlmode in accordance with this walking surface category. In this manner,stable walking is realized.

The embodiment defines the floor surface in terms of a plane where therobot apparatus walks, and defines the floor surface category in whichthe floor surface is categorized. Obviously, it may be preferable tocategorize not only the floor surface, but also the other walkingsurfaces, for example, outdoor ground surfaces, lawn, stair surfaces,and the like where the robot apparatus can walk. An appropriate walkingcontrol mode may be selected according to the discrimination result

As mentioned above, the conventional robot apparatus computes a walkingcontrol amount (hereafter referred to as an adaptive operation amount)as a trajectory correction amount from a specified walking control model(motion reproduction) in response to various sensor values such asattitudes and reaction forces during walking to correct the walkingcontrol model. In this manner, the robot apparatus performs adaptivecontrol so as to be able to stably walk by maintaining an attitudebalance of the robot apparatus in accordance with inclinations and thelike of the floor surface where the foot section touches during walking.However, walking becomes impossible under the walking control based onsuch adaptive operation amount and the like computed from sensor valuesand the like during walking for locomotion between areas whose floorsurface conditions greatly vary, for example, from hard floor surfacessuch as flooring, marble, and concrete materials to soft floor surfacessuch as a thick-piled carpet and a lawn. This is because the walkingcontrol mode used for walking on hard floor surfaces completely differsfrom that used for walking on soft floor surfaces.

Accordingly, the robot apparatus can respond to continuous and smoothchanges under the walking control by computing the adaptive operationamount from various sensor values during walking. However, walking isdifficult unless the walking control mode is changed when floor surfaceconditions drastically change like locomotion from hard floor surfacesto soft floor surfaces.

The inventors found the following as a result of concentratedexperiments. The current floor surface is registered to the preparedfloor surface category based on various sensor values and the adaptiveoperation amount obtained in accordance with the floor surface. There isprovided a walking control mode corresponding to this floor surfacecategory. The floor surface category for the current floor surface isdiscriminated to select an optimum walking control mode for the floorsurface category. The adaptive operation amount is then computed forwalking control. In this manner, the legged mobile robot apparatus canwalk well even if floor surface conditions drastically change.

In one case of differing walking control modes, different parameters orcoefficients are used to convert or compute the adaptive operationamount from various sensor values. In another case, the walking usesdifferent walking motions (walking control models) or walkingalgorithms. The adaptive operation amount is a correction value tocorrect deviation from a targeted control value, e.g., a deviatedrotation angle of each actuator. This specification uses a term “gait”to collectively represent waling patterns (walking control models) suchas fast or slow walking, and a sequence of motion control values forwalking motions such as the above-mentioned adaptive operation amount.

The following describes the robot apparatus's floor-surface-basedwalking control apparatus capable of adaptive walking control bydiscriminating floor surface categories, i.e., discriminating to whichfloor surface category the current floor surface belongs.

FIG. 4 is a functional block diagram showing only major parts needed forthe floor-surface-based walking control apparatus of the robotapparatus. A floor-surface-based walking control apparatus 10 comprises:an action control section 11 to control robot apparatus actions; a floorsurface discrimination section 12 to recognize a floor surface andoutput a floor surface category; and a walking control section 13 toselect a walking control mode and control walking based on actioninstructions from the action control section 11 and on a floor surfacecategory from the floor surface discrimination section 12.

The action control section 11 selects and executes robot apparatus'sactions corresponding to situations. When the action control section 11issues a motion instruction (walking instruction) D1, the walkingcontrol section 13 operates to execute the walking control. Floorsurface situations, e.g., whether or not there is an obstruction maybecome a factor (external stimulus) that affects robot apparatusactions.

The floor surface discrimination section 12 solves statistic patternrecognition problems of the floor surface category to select a floorsurface category for the current floor surface out of the prepared floorsurface categories. At this time, the floor surface discriminationsection 12 is supplied with inputs: amounts of floor surface statessensed by the robot apparatus body such as an adaptive operation amountD2 from the walking control section 13 and output values (sensor values)D3 from various sensors 360; and image data D4 from image input means251 such as a camera.

In FIG. 4, a sensor 360 _(n) represents a potentiometer to detectrotation angles and positions of an actuator 350 _(n) provided for eachjoint, an acceleration sensor to detect an acceleration of the footsection (foot sole) during walking, a force sensor provided for the footsole to detect a reaction force from the floor surface, and the like.These rotation angles, accelerations, reaction force, and the like areinput as sensor values.

The pattern recognition is available the instant that there is suppliedinput data such as the adaptive operation amount D2, various sensorvalues D3, the image data D4, and the like. Consequently, it is possibleto always continue discriminating floor surface categories while therobot apparatus 1 is walking. A floor surface category D5 as adiscrimination result is output to the other components such as theaction control section 11, the walking control section 13, and the like.

The walking control section 13 is initiated by a motion instruction D1.The walking control section 13 is supplied with inputs from varioussensor values D3 as mentioned above in accordance with a specifiedwalking control mode. The walking control section 13 computes acorrection amount from the walking control model in the walking controlmode as the adaptive operation amount D2. The walking control section 13then outputs the adaptive operation amount to the floor surfacediscrimination section 12. The floor surface discrimination section 12determines a category for the current floor surface. The walking controlsection 13 receives the floor surface category D5 to select a walkingcontrol mode corresponding to the current floor surface state. Thewalking control section 13 computes an adaptive operation amount as thecorrection amount from the walking control model in the selected walkingcontrol mode to generate a gait. That is to say, the walking controlsection 13 is previously provided with walking control modescorresponding to floor surface categories. For example, the walkingcontrol modes include a walking model as the reference and coefficientsor parameters to convert or compute a correction amount from the walkingmodel by using various sensor values at a given time.

The example here is assumed to select the walking control modecorresponding to the floor surface category, i.e., to select a walkingalgorithm or a parameter. A walking algorithm is selected, for example,when floor surface categories A and B use greatly different floorsurface states and the walking algorithm needs to be changed to acompletely different one. A parameter is selected when floor surfacecategories A and B use the same walking control model and it isnecessary to change only a parameter to compute the adaptive operationamount from sensor values. The adaptive operation amount D2 indicates acorrection amount from the walking model so as to fulfill the walking byadaptively stabilizing the attitude during walking correspondingly tofloor surface shapes and the like. Specifically, the adaptive operationamount D2 indicates a correction amount and the like for correctingdeviations from targeted trajectories of the roll axis, the pitch axis,and the yaw axis.

There is a case of computing the adaptive operation amount D2 to beoutput to the floor surface discrimination section 12. There is anothercase of computing an adaptive operation amount that is to be recomputedat the next walking timing in accordance with a walking algorithm to beselected accordingly to the floor surface category. In these cases,there are parameters and the like (to be described) for convertingvarious sensor values into the corresponding adaptive operation amount.Conventionally, for example, inputs are supplied from the outside inadvance to select walking control mode such as a specified walkingalgorithm or a specified parameter. The adaptive operation amount iscomputed in accordance with this walking control mode. As mentionedabove, however, this method can allow conversion of only adaptiveoperation amounts from the predetermined walking control modes.Depending on floor surfaces, an appropriate adaptive operation amountmay not be computed without changing the walking control mode. To solvethis problem, the walking control section 13 first computes an adaptiveoperation amount according to various sensor values from specifiedwalking control modes to be used as standards. The walking controlsection 13 then allows the floor surface discrimination section 12 todiscriminate the floor surface category. The walking control section 13receives the floor surface category D5 and selects a walking controlmode from the above-mentioned standard walking control modes inaccordance with this floor surface category D5.

Specifically, the walking control section 13 selects, for example, awalking algorithm corresponding to the floor surface or a parameter tocompute the walking control model (walking type) or the adaptiveoperation amount. The walking control section 13 recomputes an adaptiveoperation amount in accordance with the walking control mode determinedby the floor surface category, making it possible to realize more stablewalking. Walking control modes may be changed in accordance with notonly floor surface categories, but also the other factors such as robotbody states. It just needs to prepare a most standard walking algorithmfor the standard walking control mode to compute the adaptive operationamount D2 used for discriminating floor surface categories. When therobot apparatus is intended for domestic use, for example, it just needsto prepare walking control models and the like for walking on flooringfloor surfaces. To continuously discriminate floor surfaces, the floorsurface discrimination section 12 just needs to compute the adaptiveoperation amount D2 in accordance with walking control modecorresponding to the floor surface category that was input at theprevious timing.

In this manner, the walking control section 13 selects an optimumwalking control mode in accordance with the action instruction D1 fromthe action control section 11. The walking control section 13 computesthe adaptive operation amount to generate a gait. The walking controlsection 13 outputs a command (control value) D6 to drive the actuator350 _(n) for each joint.

For example, available floor surface types include hard floor surfaces(plate, concrete), carpet, tatami, rubber, and the like. These types offloor surfaces can be classified into floor surface categories based onelastic coefficients, friction coefficients, rolling coefficients,carpet pile lengths, or a combination of these, for example. The walkingcontrol section 13 previously learns characteristic amounts of one ormore of discrimination input data, i.e., the adaptive operation amountD2, the sensor value D3, and the image data D4 used for the categorydiscrimination. It is assumed that the floor surface discriminationsection 12 stores the already learnt characteristic amounts for therespective floor surface categories as a learning database. As mentionedabove, it just needs to categorize and learn not only indoor surfaces,but also outdoor surfaces such as ground and lawn where the robotapparatus can walk.

There may be an alternative to the method of previously categorizing andlearning the floor surface categories based on the criteria as mentionedabove. For example, the robot apparatus previously obtains one or moreof discrimination input data, i.e., the adaptive operation amount D2,the sensor value D3, and the image data D4 on a plurality of types offloor surfaces. The robot apparatus itself may classify the floorsurface categories using learning results. A learning result may beavailable when characteristic amounts are obtained from thediscrimination input data and similar amounts within a specified scopeare classified into one class (category). Alternatively, a learningresult may be available when clustering is performed from thecharacteristic amounts on the assumption that the number of clusters isknown. Also in this case, it is assumed that the floor surfacediscrimination section 12 stores the learning results for the respectivefloor surface categories as a learning database.

The kinetic control module 300 performs the above-mentioned processes ofreceiving one or more of discrimination input data, i.e., the adaptiveoperation amount D2, the sensor value D3, and the image data D4,determining the floor surface category, and generating an appropriategait.

The following describes a process flow from the floor surfacediscrimination to the walking control. FIG. 5 is a flowchart showing aflow of floor-surface-based wailing control process. As shown in FIG. 5,the action control section 11 issues a walking instruction to thewalking control section 13 (step S1). At this step, the walking controlsection 13 is started to perform motions to input various sensor valuesD3 and compute an adaptive operation amount under adaptive control (stepS2). It is assumed that the adaptive operation amount D2 at this time iscomputed based on the standard walking control mode as mentioned above.The motions to input various sensor values D3 include an in-lacestepping motion to be described later, a normal walking motion, and thelike. To perform a normal walking motion, there is not selected anoptimum walking control mode corresponding to the floor surface at histime. Therefore, the walking is performed in accordance with thepredetermined standard walking control mode. To continuouslydiscriminate floor surfaces, the walking is performed in accordance withthe walking control mode that is selected based on the floor surfacecategory found by the previous floor surface discrimination.

During the normal walking or in-place stepping motion, the floor surfacediscrimination section 12 is supplied with the adaptive operation amountD2 from the walking control section 13, the sensor values D3 fromvarious sensors such as the foot sensor 360, and the image data D4 fromthe image input apparatus 251 such as a camera. The floor surfacediscrimination section 12 uses characteristic amounts for these inputsto perform pattern recognition of the floor surface category (step S3).The floor surface discrimination section 12 discriminates to which ofthe floor surface categories the current floor surface belongs. Thefloor surface discrimination section 12 outputs the floor surfacecategory as a floor surface discrimination result to the walking controlsection 13 (step S4). The walking control section 13 selects an optimumwalking control mode in accordance with the supplied floor surfacecategory and performs walking control (step S5). Specifically, forexample, the walking control section 13 reselects a parameter to computethe adaptive operation amount and recomputes the adaptive operationamount as a walking control amount. If the walking is repeated (Yes atstep S6), the process from step S3, i.e., the floor surface categorydiscrimination is repeated. The floor surface category discriminationmay be always performed during walking or may be scheduled at aspecified timing.

The following describes an example method of computing the adaptiveoperation amount D2 used for the floor surface category discrimination.The above-mentioned step S2 needs input of various sensor valuesconcerning the current floor surface state to compute the adaptiveoperation amount D2. This value may be obtained while walking. Further,it is possible to prepare a motion to discriminate the floor surfacecategory and use this motion for floor surface discrimination. Suchmotions for floor surface discrimination include an in-place steppingmotion. The following describes a method of discriminating the currentfloor surface by performing an in-place stepping motion.

FIGS. 6A through 6D and FIGS. 7A through 7D show that the robotapparatus 1 is stepping in place. From an upright state (FIG. 6A), therobot apparatus 1 balances the body (FIG. 6B), once raises the right leg(FIG. 6C), and then lowers it to the ground (FIG. 6D). Likewise, therobot apparatus 1 balances the body (FIG. 7A), once raises the left leg(FIG. 7B), lowers it to the ground (FIG. 7C), and returns to the uprightstate (FIG. 7D).

A sequence of in-place stepping motion makes it possible to obtainsensor values corresponding to the floor surface. Based on the sensorvalue D3, the walking control section 13 computes the adaptive operationamount D2. The floor surface discrimination section 12 then uses thesensor value D3 and the adaptive operation amount D4 to discriminate thecategory of the current floor surface. The in-place stepping motionrepresented here can be configured to have a walking cycle of 600 msec,a foot raising height of 20 mm, and a both-eg supporting ratio of 30%,i.e., a ratio of time for landing both feet during a sequence ofin-place stepping motion. These values are used as parameters for thein-place stepping motion.

The following description assumes that the in-lace stepping motion andthe like are used to acquire sensor values and the adaptive operationamount and discriminate floor surface categories. As mentioned above, itmay be preferable to discriminate floor surface categories whilewalking. Further, the floor surface category discrimination may use theimage data D4 in combination with or independently of sensor values andthe adaptive operation amount.

The following describes in detail how the floor surface discriminationsection 12 discriminates floor surface categories. The floor surfacediscrimination section 12 may use any pattern recognition technique thatcan discriminate floor surface categories in accordance with one or moreof discrimination input data, i.e., the adaptive operation amount D2,various sensor values D3, and the image data D4. The following describesan example of discriminating categories based on the Fisher criteriausing an example of input data as listed in Table 1 below. The data hereis input when the floor surface discrimination section 12 discriminatesfloor surface categories. TABLE 1 Adaptive operation Sensor valuesamount Image data Each joint angle Roll axis operation Floor surfaceimage Foot sole's amount acceleration in Pitch axis operation forwarddirection amount Foot sole's acceleration in sidewise direction Footsole's force (vertical direction)

In Table 1, the roll axis operation amount and the pitch axis operationamount indicate a difference between the scheduled trajectory (targetedtrajectory) and the actual trajectory. The difference can be used as acorrection amount to be corrected by an adaptive operation. Obviously,all or some selected values may be used to perform the floor surfacecategory discrimination.

These values are output at a control loop cycle for kinetic control,e.g., every 4 msec. For example, the foot sole acceleration is input aschronological data as shown in FIG. 8. FIG. 8 is a graph showingchronological values of foot sole acceleration in forward and sidewisedirections by assigning the time to the abscissa and the acceleration tothe ordinate. In FIG. 8, the broken line indicates data about a footsole acceleration in the forward direction (traveling direction). Thesolid line indicates data about a foot sole acceleration in the sidewisedirection.

As shown in FIG. 8, the input foot sole acceleration is storedchronologically. A characteristic amount is extracted from the inputdata obtained in this manner. For example, the fast Fourier transform(FFT) is performed using a specified window size for chronologicalvalues of the foot sole acceleration. Data on the time axis is convertedinto data on the frequency axis for conversion into the characteristicamount.

FIG. 9 is a graph showing a Fourier power spectrum by Fouriertransforming chronological values of foot sole acceleration in forwardand sidewise directions as shown in FIG. 8 by assigning frequencies tothe abscissa and power to the ordinate. Also in FIG. 9, the broken lineindicates a foot sole acceleration in the forward direction (travelingdirection), and the solid line indicates data about a foot soleacceleration in the sidewise direction. Out of the above-mentioned inputdata, FIGS. 8 and 9 show only the foot sole accelerations in forward andsidewise directions for simplicity. It is also possible to likewisechronologically store the other input data used for the floor surfacecategory discrimination and to Fourier transform the chronologicalvalues into a characteristic amount to be used.

Let us assume that the Fourier power spectrum has dimension informationfor one value. When four input values are used, for example, they can beassumed to be a 4d-dimensional feature vector. The example in FIG. 8represents d=35 dimensions. Since there are too many dimensions in thisstate, the dimensions are compressed by means of the principal componentanalysis. Further, the linear discriminant analysis is performed basedon the Fisher criteria. The linear discriminant analysis presents aproblem of multi-class discrimination using classes as many as the floorsurface categories.

The following describes a method of classifying floor surfacecategories. As mentioned above, floor surface categories may beclassified by leaming the characteristic amount of discrimination inputdata for each of floor surface categories classified in accordance witha specified criterion. Alternatively, floor surface categories may beclassified by learning large characteristic amounts of discriminationinput data and using the similarity and the like of the characteristicamounts. That is to say, floor surface categories may be classified inaccordance with the necessary categories prepared in advance or may beclassified as needed during actual walking. Furthermore, categories maybe added as needed for additional learning.

The following describes a case where the human side classifies floorsurface categories using the following criteria (features) for the floorsurface category classification.

1. Elastic coefficient (Young's modulus)

-   -   2. Friction coefficient    -   3. Rolling coefficient    -   4. Carpet or rug pile length    -   5. Combination of items 1 through 4

When different floor surface categories are prepared for floor surfaceshaving one or more different features, it is possible to prepare walkingcontrol modes corresponding to the floor surface categories. Accordingto the floor surface categories, the feature to influence the walkingdepends on the structure of the robot apparatus to be used and the floorsurface where the robot apparatus actually walks. It is necessary toselect criteria for category classification according to degrees of theinfluence.

The floor surface categories can be discriminated as follows. The floorsurface category discrimination uses the discrimination input data suchas various sensor values, the adaptive operation amount, and the imagedata. The characteristic amount of these discrimination input data ispreviously learnt for each classified floor surface (floor surfacecategory). The floor surface discrimination section 12 stores thecharacteristic amount as the learning database. The storedcharacteristic amount is compared with the characteristic amount fordiscrimination input data that is obtained from the current floorsurface during the above-mentioned in-place stepping motion or thewalking.

The embodiment assumes the robot apparatus as a domestic consumerproduct and describes floor surface categories that are considered to benecessary in home environments. The above-mentioned “4. Carpet or rugpile length” can be used as a classification criterion so as to classifythe floor surface categories in home environments.

Specifically, ordinary floor surfaces in home environments areclassified as “plate material (flooring)” and “carpet” according to theabove-mentioned classification criterion. The following three categoriesneed to be classified.

-   -   Floor surface 1: thick-piled carpet (pile length of longer than        or equal to 6 mm)    -   Floor surface 2: thin-piled carpet (pile length of shorter than        6 mm)    -   Floor surface 3: flooring (equivalent to pile length of 0 mm)

The pile length is used as the classification criterion for thefollowing reason. The inventors carried out experiments by allowing therobot apparatus to actually walk and found that the pile length mostinfluences the walking performance. That is to say, we found that thewalking control section 13 needs to prepare different walking controlmodes (parameters or walking algorithms) for each of the three floorsurface categories.

The following describes information (discrimination input data) used forthe three floor surface categories to classify actual floor surfaces.The floor surface category discrimination is performed by usingdiscrimination input data resulting from one or more combinations of theabove-mentioned input data supplied to the floor surface discriminationsection 12. The discrimination input data is obtained by processing(preprocessing) the above-mentioned chronological values by means ofsome technique and is applied to the floor surface categories in thesubsequent linear discrimination.

The preprocessing can use the following methods. When one-dimensionalinformation is provided, the above-mentioned sensor values and adaptiveoperation amount are obtained during the above-entioned in-placestepping motion or during the walking. The sensor values and theadaptive operation amount obtained during such motions somehow containinformation about the floor surface. Fourier power spectrumcharacteristics and auto-correlation characteristics are available asthe information about floor surfaces, i.e., floor surface'scharacteristic amounts.

When two-dimensional information is provided, it is an input imagesupplied from the image input means 251 such as a camera, for example.Different processes are used because the information is two-dimensionaland an area needs to be divided. Basically, it is possible to use thesame characteristic amount as for the one dimensional information asmentioned above. There are methods of obtaining Fourier power spectrumcharacteristics as the characteristic amount of input image. An exampleis to separate or extract a floor surface area from the input image.There are methods of extracting a floor surface area from the inputimage. An example of extracting a floor surface area is to extract adominative plane in accordance with the Hough transform from a stereoparallax between both eyes, convert the plane into coordinates, anddetermine whether or not the plane is a floor surface.

The process then finds a two-dimensional Fourier power spectrum of theextracted floor surface area. A scanning method is used to expand thetwo-dimensional Fourier power spectrum into one-dimensional vector. Inthis manner, two-dimensional information such as input images can beprocessed like the characteristic amount of the floor surface as theone-dimensional information.

The following describes an example method of determining the floorsurface categories by converting discrimination input data, i.e., twoinput data such as a roll axis operation amount and a pitch axisoperation amount, into the characteristic amount. FIGS. 10 and 11 aregraphs showing Fourier power spectra obtained by Fourier transformingchronological values at a given point of the roll axis operation amountand the pitch axis operation amount. In FIGS. 10 and 11, the abscissacorresponds to frequencies and the ordinate corresponds to the power.These two data are processed as one block of data as shown in FIG. 12.That is to say, two data can be successively processed as one data asfollows. Data for the roll axis operation amount is converted so as toassign, e.g., values 0 through 50 to the Fourier power spectrum'sabscissa (frequency components). Data for the pitch axis operationamount is converted so as to assign, e.g., values 50 through 100 to theFourier power spectrum's abscissa (frequency components). Such operationcan be used to compound a plurality of characteristic amounts for use.

In this manner, the Fourier power spectrum is obtained by compoundingcharacteristic amounts of the roll axis operation amount and the pitchaxis operation amount. The Fourier power spectrum is used as input tothe linear discriminant analysis to determine the floor surfacecategories. For example, a robot apparatus having the walking cycle of 8msec can generate the compound Fourier power spectrum up to 125 times ina second. Of course, the linear discriminant analysis may be performednot only at the walking cycle, but also at a specified timing.

The data in FIG. 10 can be represented as a vector in equation (1) asshown below. $\begin{matrix}{x = \begin{pmatrix}0.0308 \\0.1793 \\\vdots \\0.00007\end{pmatrix}} & {{Equation}\quad(1)}\end{matrix}$

As mentioned above, the robot apparatus needs to previously learn thecharacteristic amount as input to the linear discriminant analysis foreach of the floor surface categories. For example, the floor surfacecategories can be learnt by performing the above-mentioned in-lacestepping motion on a floor surface belonging to each floor surfacecategory and collecting a large amount of vector x as shown in equation(1) mentioned above. For example, an in-place stepping motion for 10seconds can collect 1250 vectors x. The description here is assumed touse three floor surface categories, i.e., “flooring”, “thinpiled carpet(pile length of shorter than 6 mm)”, and “dtick-piled carpet (pilelength of longer than or equal to 6 mm)”. The floor surface categoriesare learnt, for example, by performing the in-lace stepping motion for10 seconds on the three floor surfaces to collect 1250 vectors x foreach floor surface.

When the learning is performed, there may be no difference betweencharacteristic amounts for each of the classified floor surfacecategories. This indicates that the floor surface categorydiscrimination is difficult. In such case, two possibilities areconceivable: one is that the robot apparatus attempts to determine thefloor surface categories of which classification is essentiallyimpossible (e.g,. smooth stone floor and flat grass floor cannotprobably be classified, because both surfaces are hard and smooth,thereby the robot apparatus scarcely find a difference between them.);the other is that, there is not enough freedom degree for thecharacteristic amount used for discrimination and the discrimination tobe solved by the learning algorithm, or there is low freedom degree(information amount may not be enough if only one value of potentiometeris used). In either case, if performing learning in advance can classifyfloor surface categories for each characteristic amount of thediscrimination input data, the categories can be actually discriminatedthrough the use of the characteristic amount.

The embodiment performs the linear discriminant analysis based on theFisher criteria for the purpose of the floor surface categorydiscrimination. This technique projects characteristic amounts onto adiscrimination space that minimizes dispersion in each category andmaximizes dispersion between categories. The technique uses distances inthat space for the category discrimination.

It is assumed that the floor surface category is represented as a floorsurface class and that the kth class out of K classes is represented asclass Ck. The linear discriminant analysis is performed by convertinginput vector x into vector y in the discrimination space as shown inFIG. 13 using a conversion equation (2) below and measuring a distancebetween respective points (vectors) in that space.y=A_(t)x  (2)

When a distance between value y in the discrimination space for inputvector x and the class center in the discrimination space for an averagevalue (class center) of data for class C_(k) is shorter than a distancebetween value y and another class center, the input vector x is assumedto belong to class C_(k). That is to say, a short distance indicatessimilarity between data values. In the description to follow, thespecification uses <x_(k)> to represent an average value (class center)of data for class C_(k) and <y_(k)> to represent the class center in thediscrimination space.

The following shows how to find coefficient matrix A in the conversionequation (2) mentioned above. That is to say, let us assume a classaverage to be <x_(k)> and an overall average to be <x_(t)>. Let usdefine in-class covariance Σ_(w) and inter-class covariance Σ_(B) asrespectively expressed in equations (3) and (4) described below. In thiscondition, the coefficient matrix A can be found as a solution to thecharacteristic value problem as shown in equation (5) to follow.$\begin{matrix}{\sum\limits_{w}{= {\sum\limits_{k = 1}^{K}{\sum\limits_{i \Subset C_{k}}{\left( {x_{i} - {\overset{\sim}{x}}_{k}} \right)\left( {x_{i} - {\overset{\sim}{x}}_{k}} \right)^{t}}}}}} & {{Equation}\quad(3)}\end{matrix}$

-   -   {overscore (x)}_(k): Average value (class center) of data for        class C_(k)=<x_(k)>    -   {overscore (x)}_(T): Average value of all data =<x_(t)>        $\begin{matrix}        {\sum\limits_{B}{= {\sum\limits_{k = 1}^{K}{\left( {{\overset{\sim}{x}}_{k} - {\overset{\sim}{x}}_{T}} \right)\left( {{\overset{\sim}{x}}_{k} - {\overset{\sim}{x}}_{T}} \right)^{t}}}}} & {{Equation}\quad(4)} \\        {{{\sum\limits_{B}A} = {\sum\limits_{w}{A\quad\Lambda}}},{{A^{t}{\sum\limits_{w}A}} = I}} & {{Equation}\quad(5)}        \end{matrix}$

The coefficient matrix A is created in advance by using many vectors xas mentioned above. Actually, the robot apparatus determines a floorsurface by discriminating the category for input data P using theprepared coefficient matrix A and precomputed class center <y_(k)>. Thatis to say, the input data P can be classified into a class that providesshortest distance L_(n) between the input data P and the class center<Y_(k)>.

In this manner, the floor surface category is obtained as a result ofthe floor surface category discrimination and is supplied to the walkingcontrol section 13. In accordance with the supplied floor surfacecategories, the walking control section 13 can change algorithms forcomputing trajectories such as the roll axis and the pitch axis andmodify parameters (coefficients) used for the trajectory computation.Modifiable parameters include, for example, a pace, walking cycle (timeper step), both-leg supporting ratio, PID gain, and the like. Table 2below shows an example of modifying parameters. TABLE 2 Both-leg PaceWalking cycle supporting ratio Flooring 70 mm  600 msec 25% Carpet withpile 60 mm  800 msec 30% length of shorter than 6 mm Carpet with pile 50mm 1000 msec 50% length of longer than or equal to 6 mm

As mentioned above, it becomes possible to select walking control modessuch as parameters for converting an optimum walking control (adaptiveoperation amount) from various sensor values in accordance with thefloor surface category. An optimum walking algorithm can be used inaccordance with floor surface conditions. Consequently, stable walkingbecomes available even if floor surface conditions vary greatly.Recognition of the floor surface category selects the walking controlmode most suitable for stable walking. It becomes possible to provideother capabilities such as walking faster than normal and the like.

Further, when the robot apparatus recognizes a floor surface not suitedfor walking, it is possible to provide control that stops walking bynotifying the condition of “not capable of walking”. This prevents therobot apparatus from tumbling after continuing awkward walking.

Moreover, the floor surface category information can be associated withan environmental map to improve the environmental map's performance.When the robot apparatus moves from a flooring room to a carpet room,for example, storing the floor surface category information canautomatically change the walking control mode such as the walkingalgorithm to adaptively generate a gait without the need for theabove-mentioned in-place stepping motion.

Furthermore, the use of the knowledge about floor surfaces makes itpossible to identify preferable or unpreferable floors, frequented orunfrequented floors, and the like. The knowledge can be provided asinteractive contents with users.

The following describes the embodiment of the present invention toperform the floor surface category discrimination using actual data. Thedescription here uses only one discrimination input data for simplicity.As mentioned above, however, it is to be distinctly understood that aplurality of data may be unified for the floor surface discrimination.When the discrimination input data is properly selected, singlediscrimination input data can be used to discriminate floor surfacecategories.

As data to be used for the floor surface discrimination, the embodimentuses chronological values for the roll axis operation amount during theabove-mentioned in-lace stepping motion. FIGS. 14A, 15A, and 16Aschematically show floor surfaces composed of flooring F_(A), carpetF_(B) having a pile length shorter than 6 mm, and carpet F_(C) having apile length longer than or equal to 6 mm, respectively. FIGS. 14B, 15B,and 16B are graphs showing chronological values obtained by stepping inplace on the respective floor surfaces. FIGS. 14C, 15C, and 16C aregraphs showing the floor surfaces' characteristic amounts obtained byFourier transforming the chronological values. FIG. 17 illustratesboundaries for discriminating three classes. FIG. 18 shows how the robotapparatus steps in place to discriminate the floor surfaces.

To discriminate the floor surface categories, the robot apparatuspreviously learns characteristic amounts for roll axis operation amountsin the respective floor surface categories. During the learning, thereare provided floor surfaces to be classified into the floor surfacecategories as shown in FIG. 18. The robot apparatus is allowed to stepin place to obtain many characteristic amounts. As shown in FIGS. 14through 16, characteristic amounts for the floor surfaces are obtainedfrom chronological data of the roll axis operation amounts for the floorsurfaces. The linear discriminant analysis projects a 3-classdiscrimination problem onto the two dimensional space shown in FIG. 17.As shown in FIG. 17, a plurality of characteristic amounts are collectedfrom the floor surfaces F_(A) through F_(C) and are projected to obtaindata distributions. As a result, it is possible to draw boundarysettlement lines indicated by solid lines in FIG. 17 between the floorsurfaces.

Let us consider that the robot apparatus performs walking controlcorresponding to the floor surface states with reference to the twodimensional space that is learnt and contains the class boundarysettlement lines drawn. A walking motion or the above-entioned in-placestepping motion is performed to obtain chronological values for the rollaxis operation amounts. The values are Fourier transformed intocharacteristic amounts that are then projected on the two-dimensionalspace as shown in FIG. 17. Euclidean distances are found from each classcenter and are compared to each other. Classifying input data into aclass showing the shortest distance enables the floor surface categorydiscrimination (class discrimination).

The walking control section is provided with walking control modes suchas walking algorithms corresponding to the three floor surfacecategories, i.e., flooring F_(A), thin-piled carpet F_(B), andthick-piled carpet F_(C). When the floor surface categories are inputaccording to the above-mentioned method, the walking control sectioncomputes an adaptive operation amount in accordance with thecorresponding walking algorithm. As a result, stable walking is madepossible.

The present invention is not limited to the above-mentioned embodiments.It is further understood by those skilled in the art that variouschanges and modifications may be made without departing from the spiritand scope of the present invention. The above-mentioned embodimentpreviously classifies floor surfaces into specified categories andlearns characteristic amounts for the discrimination input datacorresponding to each category. Further, it may be preferable toclassify the floor surface categories as follows. A plurality of typesof floor surfaces are used to obtain many characteristic amounts(feature vectors) for the discrimination input data. Clustering isperformed to divide data (feature vectors) in pattern space into severalsimilar subsets by using similarities based on Euclidean distances ordispersion in the pattern space.

1. An autonomously movable legged mobile robot apparatus comprising:walking surface discrimination means for discriminating a walkingsurface category as a current walking surface's category from aplurality of prepared categories based on information about the currentwalking surface; and walking control means for controlling walking byselecting a specified walking control mode in accordance with thewalking surface category discriminated by the walking surfacediscrimination means.
 2. The robot apparatus according to claim 1,wherein the walking control means computes a walking control amount froma sensor value output from a sensor provided for at least a leg based ona selected walking control mode; and the walking surface discriminationmeans uses the walking control amount as information about the currentwalking surface.
 3. The robot apparatus according to claim 2, whereinthe walking control means has a different walking control model for eachof the categories, selects a walking control model corresponding to thewalking surface category to be input, and uses the sensor value tocompute a correction amount from the walking control model as thewalking control amount.
 4. The robot apparatus according to claim 2,wherein the walking control means converts the sensor value into thewalking control amount using a specified parameter, has a differentparameter for each of the categories, and computes the walking controlamount using a parameter corresponding to the walking surface categoryto be input.
 5. The robot apparatus according to claim 1, wherein thewalking surface discrimination means uses a sensor value output from asensor provided for at least a leg as information about the currentwalking surface.
 6. The robot apparatus according to claim 1 comprising:an imaging means, wherein the walking surface discrimination meansextracts a walking surface area from an input image captured by theimaging means and uses the walking surface area as information about thecurrent walking surface.
 7. The robot apparatus according to claim 1,wherein the walking surface discrimination means discriminates a walkingsurface category by means of pattern recognition of information aboutthe current walking surface.
 8. The robot apparatus according to claim1, wherein the walking surface discrimination means has a learntcharacteristic amount obtained by previously learning a characteristicamount of information about a walking surface for each categoryclassified in accordance with a specified criterion and compares acharacteristic amount of information about a current walking surfacewith the learnt characteristic amount so as to discriminate a walkingsurface category.
 9. The robot apparatus according to claim 1, whereinthe plurality of categories are obtained by classifying characteristicamounts of information about walking surfaces based on a previouslylearnt characteristic amount; and the walking surface discriminationmeans compares a characteristic amount of information about a currentwalking surface with the learnt characteristic amount to discriminate awalking surface category.
 10. The robot apparatus according to claim 1comprising: motion generation means for generating an in-place steppingmotion to discriminate the walking surface category.
 11. The robotapparatus according to claim 10, wherein the walking control meanscomputes a walking control amount from a sensor value output from asensor provided for at least a leg based on a selected walking controlmode during the in-lace stepping motion; and the walking surfacediscrimination means uses the walking control amount as informationabout the walking surface.
 12. The robot apparatus according to claim 7,wherein the walking control means computes a chronological walkingcontrol amount from a chronological sensor value output from a sensorprovided for at least a leg based on a selected walking control mode;and the walking surface discrimination means uses a characteristicamount equivalent to data resulting from Fourier transforming thechronological walking control amount and performs pattern recognition ofthe characteristic amount to discriminate a walking surface category.13. The robot apparatus according to claim 7, wherein the walkingsurface discrimination means uses a characteristic amount equivalent todata resulting from Fourier transforming a chronological sensor valueoutput from a sensor provided for at least a leg and performs patternrecognition of the characteristic amount to discriminate a walkingsurface category.
 14. The robot apparatus according to claim 1, whereinthe walking surface discrimination means continuously discriminates awalking surface category during walking.
 15. A walking control method ofan autonomously movable legged mobile robot apparatus comprising thesteps of: discriminating a walking surface category as a current walkingsurface's category from a plurality of prepared categories based oninformation about the walking surface; and controlling walking byselecting a specified walking control mode in accordance with thewalking surface category discriminated by the walking surfacediscrimination step.
 16. The walking control method of the robotapparatus according to claim 15 comprising the step of: computing awalking control amount from a sensor value output from a sensor providedfor at least a leg based on a selected walking control mode, wherein thewalking surface discrimination step uses the walking control amount asinformation about the current walking surface.
 17. The walking controlmethod of the robot apparatus according to claim 16, wherein the walkingcontrol amount computation step, the walking surface discriminationstep, and the walking control step are repeated during walking.
 18. Thewalking control method of the robot apparatus according to claim 15,wherein the walking surface discrimination step uses a sensor valueoutput from a sensor provided for at least a leg as information aboutthe current walking surface.
 19. The walking control method of the robotapparatus according to claim 15, wherein the walking surfacediscrimination step extracts a walking surface area from an input imagecaptured by imaging means and uses the walking surface area asinformation about the current walking surface.
 20. The walking controlmethod of the robot apparatus according to claim 15, wherein the walkingsurface discrimination step discriminates a walking surface category bymeans of pattern recognition of information about the current walkingsurface.
 21. The walking control method of the robot apparatus accordingto claim 15, wherein the walking surface discrimination step compares acharacteristic amount of information about current walking surface witha learnt characteristic amount obtained by previously learning acharacteristic amount of information about a walking surface for eachcategory classified in accordance with a specified criterion so as todiscriminate a walking surface category.
 22. The walking control methodof the robot apparatus according to claim 15, wherein the plurality ofcategories are obtained by classifying characteristic amounts ofinformation about walking surfaces based on a previously learntcharacteristic amount; and the walking surface discrimination stepcompares a characteristic amount of information about a current walkingsurface with the learnt characteristic amount to discriminate a walkingsurface category.
 23. The walking control method of the robot apparatusaccording to claim 15 comprising the step of: generating an in-placestepping motion before the walking surface discrimination step so as todiscriminate the walking surface category.
 24. The walking controlmethod of the robot apparatus according to claim 15 comprising the stepsof: generating an in-lace stepping motion before the walking surfacediscrimination step so as to discriminate the walking surface category;and computing a walking control amount from a sensor value output from asensor provided for at least a leg based on a selected walking controlmode during the in-place stepping motion, wherein the walking surfacediscrimination step uses the walking control amount as information aboutthe walking surface.
 25. The walking control method of the robotapparatus according to claim 15, wherein the walking surfacediscrimination step continuously discriminates a waling surface categoryduring walking.